﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Benefit.Models.Day;

namespace Benefit.Interface.Day
{
    public interface IDayWinOrLoseTick
    {


        /// <summary>
        /// 得出超出止损次数
        /// </summary>
        /// <param name="pdate"></param>
        /// <param name="serverAccountId"></param>
        /// <param name="stopLoseTick"></param>
        /// <returns></returns>
        int GetOverStopLoss(string pdate, int serverAccountId, int stopLoseTick);

        /// <summary>
        /// 得出超出止损次数
        /// </summary>
        /// <param name="pdate"></param>
        /// <param name="serverAccountId"></param>
        /// <param name="stopLoseTick"></param>
        /// <returns></returns>
        int GetInstrumentOverStopLoss(string pdate, int serverAccountId, int stopLoseTick, int instrumentid, int direction);

        /// <summary>
        /// 得出超出止损次数
        /// </summary>
        /// <param name="pdate"></param>
        /// <param name="serverAccountId"></param>
        /// <param name="stopLoseTick"></param>
        /// <returns></returns>
        int GetProductOverStopLoss(string pdate, int serverAccountId, int stopLoseTick, int productid, int direction);

        /// <summary>
        /// 得出品种胜率
        /// </summary>
        /// <param name="pdate"></param>
        /// <param name="serverAccountId"></param>
        /// <param name="stopLoseTick"></param>
        /// <returns></returns>
        double GetProductWinRate(string pdate, int serverAccountId, int productid, int direction);


        /// <summary>
        /// 初始化Tick值
        /// </summary>
        /// <param name="pdate"></param>
        /// <param name="tradeHistoryId"></param>
        void InitTickValue(string pdate, int tradeHistoryId);
        /// <summary>
        /// 删除某天所有信息
        /// </summary>
        /// <param name="tradeHistoryId"></param>
        void Delete(int tradeHistoryId);
    }
}